package com.example.erat.repository;

import com.example.erat.entity.Course;
import com.example.erat.entity.Experiment;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * 实验数据访问层
 */
@Repository
public interface ExperimentRepository extends JpaRepository<Experiment, Long> {
    
    /**
     * 根据实验编号查询实验
     */
    Experiment findByExperimentCode(String experimentCode);
    
    /**
     * 判断实验编号是否存在
     */
    boolean existsByExperimentCode(String experimentCode);
    
    /**
     * 根据课程查询实验列表
     */
    List<Experiment> findByCourse(Course course);
    
    /**
     * 根据课程ID查询实验列表
     */
    List<Experiment> findByCourseId(Long courseId);
    
    /**
     * 根据实验名称和课程ID查询实验
     */
    Experiment findByNameAndCourseId(String name, Long courseId);
} 